Problem3.aspx
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Problem3.aspx.vb" Inherits="_Default" %>
<html>
<head><title>Customer ViewState Example</title></head>
<body>
<form id="form4" runat="server">
<asp:Button ID="btnStore" runat="server" Text="Store Customers" OnClick="Store_Data" />
<asp:Button ID="btnRetrieve" runat="server" Text="Retrieve Customers" OnClick="Retreive_Data" />
<p><asp:Literal ID="TextBox" runat="server" /></p>
</form>
</body>
</html>
Problem3.aspx.vb
<Serializable()>
Public Class Customer
Public Property FirstName As String
Public Property LastName As String
Public Sub New(firstName As String, lastName As String)
Me.FirstName = firstName
Me.LastName = lastName
End Sub
End Class
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Store_Data(sender As Object, e As EventArgs)
Dim customers As New List(Of Customer) From {
New Customer("Hadiqa", "Nadeem"),
New Customer("Eshal", "Ali"),
New Customer("Sana", "Ijaz"),
New Customer("Hanana", "Asif"),
New Customer("Shaheena", "Falak"),
New Customer("Ramla", "Saif")
}
ViewState("Customers") = customers
TextBox.Text = "ViewState has 6 customers stored."
End Sub
Protected Sub Retreive_Data(sender As Object, e As EventArgs)
Dim customers As List(Of Customer) = CType(ViewState("Customers"), List(Of Customer))
If customers IsNot Nothing Then
Dim output As String = "<ul>"
For Each c As Customer In customers
output &= "<li>" & c.FirstName & " " & c.LastName & "</li>"
Next
output &= "</ul>"
TextBox.Text = "Retrieved from ViewState:<br/>" & output
Else
TextBox.Text = "No customers in ViewState."
End If
End Sub
End Class